#ifndef _STORAGEAFFINITY_H_
#define _STORAGEAFFINITY_H_

#include "schedulingheuristic.h"

//#define INFINITY_REPLICATION_DEGREE LONG_MAX;

class StorageAffinity : public SchedulingHeuristic {
	private:

		/*Get the affinity between a task and a site*/
		long double getAffinity(int task_index, int site_index);


	public:
		/*Constructor*/
		StorageAffinity();
		/*Destructor*/
		virtual ~StorageAffinity();

		/*Schedule method*/
		long double schedule(Grid *grid, Job *job);
		
		/*Simgrid simulation*/
		void doSimGridSimulation(SG_Task task_to_watch);
		
};

#endif //_STORAGEAFFINITY_H_
